package cn.itcast.nems.order.dto;

import cn.itcast.nems.base.dto.EntityExtendAttributeDTO;
import lombok.Data;

import java.util.List;

@Data
public class NewOrderLineDTO {
    /**
     * 产品Id
     */
    private String productId;
    
    /**
     * 产品业务编号。注：与productId字段必须二选一输入。
     */
    private String productBizNo;

    /**
     * 产品原价
     */
    // private BigDecimal price;
    private Integer price;

    /**
     * 购买数量
     */
    private Integer quantity;
    
    /**
     * 购买原金额：购买数量*产品原价
     */
    //private BigDecimal originalAmount;
    private Integer originalAmount;

    /**
     * 优惠金额总额。注：如果是基于整单的优惠，优惠金额应分摊到订单行上！单位：分
     */
    // private BigDecimal discountAmount;
    private Integer discountAmount;

    /**
     * 应付金额=订单原金额-优惠金额总额 - 课耗。单位：分
     */
    // private BigDecimal amountDue;
    private Integer amountDue;

    /**
     * 首次支付：为0时必须全额支付、大于0时按照指定金额支付。注：短训有预报名费的流程，所以该值通常大于零，其他业务线无此流程时，该值可为0。单位：分
     */
    // private BigDecimal firstPayment;
    private Integer firstPayment;

    /**
     * 订单行扩展属性
     */
    private List<EntityExtendAttributeDTO> extendAttributes;
    /**
     * 课耗金额= (原价-优惠) * 已发生课时 / 总课时 <br>
     * 默认为0
     */
    private Integer alreadyLearnFee = 0;
}
